package org.example.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "employee_contracts")
public class EmployeeContracts {
    /**
     * 合同id
     */
    @TableId(value = "contracts_id", type = IdType.INPUT)
    private Integer contractsId;

    /**
     * 员工id
     */
    @TableField(value = "employee_id")
    private Integer employeeId;

    /**
     * 入职日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "date_of_induction")
    private Date dateOfInduction;

    /**
     * 工号
     */
    @TableField(value = "employee_id_number")
    private String employeeIdNumber;

    /**
     * 部门
     */
    @TableField(value = "department")
    private String department;

    /**
     * 员工姓名
     */
    @TableField(value = "employee_name")
    private String employeeName;

    /**
     * 岗位
     */
    @TableField(value = "post")
    private String post;

    /**
     * 员工状态
     */
    @TableField(value = "employee_status")
    private String employeeStatus;

    /**
     * 聘用形式
     */
    @TableField(value = "employment_form")
    private String employmentForm;

    /**
     * 合同编号
     */
    @TableField(value = "contract_number")
    private String contractNumber;

    /**
     * 是否为主合同
     */
    @TableField(value = "main_contract")
    private String mainContract;

    /**
     * 合同类型
     */
    @TableField(value = "contract_type")
    private String contractType;

    /**
     * 合同开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "contract_start_date")
    private Date contractStartDate;

    /**
     * 合同结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "contract_end_date")
    private Date contractEndDate;

    /**
     * 合同期限
     */
    @TableField(value = "contract_duration")
    private String contractDuration;

    /**
     * 合同签订日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField(value = "contract_signed_date")
    private Date contractSignedDate;

    /**
     * 合同主体
     */
    @TableField(value = "contract_subject")
    private String contractSubject;

    /**
     * 合同备注
     */
    @TableField(value = "contract_remarks")
    private String contractRemarks;
}